/*
 * Copyright 2007 Abdulla G. Abdurakhmanov (abdulla.abdurakhmanov@gmail.com).
 * 
 * Licensed under the LGPL, Version 2 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.gnu.org/copyleft/lgpl.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * With any your questions welcome to my e-mail 
 * or blog at http://abdulla-a.blogspot.com.
 */
package org.bn.metadata.constraints;

import org.bn.annotations.constraints.*;

public class ASN1ValueRangeConstraintMetadata implements IASN1ConstraintMetadata {
    private long minValue, maxValue;
    
    public ASN1ValueRangeConstraintMetadata(ASN1ValueRangeConstraint annotation) {
        this.minValue = annotation.min();
        this.maxValue = annotation.max();
    }
    
    public long getMin() {
        return minValue;
    }
    
    public long getMax() {
        return maxValue;
    }
    
    public boolean checkValue(long value) throws Exception {
        return value<= maxValue && value>= minValue;
    }
}
